Componentware creating method, apparatus and recording medium

ABSTRACT

It is an object to shorten a time required for a processing of linking components and to reduce the amount of a memory to be used during the linkage. When creating a component to be referred to another component, a declaration of a symbol in a source file is converted into an original symbol name through a compile processing to be caused to correspond to a symbol value to be an offset address in an object file. When creating a component to be a referent, a symbol information table in which the original symbol name is replaced with a symbol ID to be caused to correspond to the symbol value. Moreover, the original symbol name and the symbol ID are caused to correspond to each other so that an external symbol information file is created. In a component to be a reference source, the original symbol name referring to another component is replaced with a pair of the component ID and the symbol ID by using the file. Thus, a symbol reference information table is created. Information about the linkage of the components to be the reference source and the referent are collated by using the symbol ID based on the table and the table. Since the symbol ID is short, a time required for collating the symbols can be shortened and the amount of the memory to be used can be reduced.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a componentware creating method and arecording medium which can efficiently carry out a link processing in asystem in which other componentwares are dynamically linked duringloading for a componentware.

2. Description of the Related Art

In recent years, a software to be used in an information apparatus suchas a computer device, a mobile terminal device and a set top box forreceiving a digital broadcast is referred to as a componentware (whichwill be hereinafter referred to as a component). In many cases, asoftware to be used as a part is combined. The component is loaded ifnecessary when a software program is to be started, for example, and isread onto a memory. Thus, the component is incorporated in the softwarefor use.

The components read on the memory are linked to each other to constituteone software. The components are linkedbased on symbol informationdescribed in the component. The symbol information is automatically setthrough a compiler based on a declaration in a source file of acomponent during the creation of the component. The symbol informationincludes a symbol name for identifying the symbol information and asymbol value to be relative address information corresponding to thesymbol name. The relative address information is an offset value of anaddress in an object file obtained by compiling a source file through acompiler, for example. The symbol name is represented by a combinationof English numerals to be ten-numeric letters and symbols, for example.

By way of example, the component includes a plurality of functions andthe symbol information is set for the respective functions. The symbolinformation is managed as a symbol information table in an object fileobtained by compiling the source file of the component. When anexecution file is to be created, the symbol information table on acomponent to be a linker is referred based on the symbol informationdescribed in a component to be a link source through a linker so thatthe components are linked. During execution, a corresponding function iscalled from the linker based on the symbol information of the linksource.

In the case in which the linkage is to be carried out during the loadingfor a program, it is necessary to check that symbol information based ona declaration in the component to be the link source is present in thecomponent to be the linker or not. This is carried out by retrievingdesirable symbol information with reference to the symbol informationtable of the component to be the linker.

In the case in which the number of external symbols to be retrieved issmall, it is possible to carry out a processing in a short time.However, an ordinary library has a large number of symbols. Therefore,there is a problem in that a long time is required for the retrieval. Inaddition, it is necessary to compare symbol names many times in order toretrieve an intended symbol. Consequently, there is a problem in that alonger time is required for processing a long symbol name.

Moreover, when the symbol names are compared and collated, it isnecessary to expand, onto a memory, the symbol name to be retrieved.Therefore, there is a problem in that a large memory capacity isrequired.

Furthermore, in the case in which two or more different componentshaving the same symbol name are loaded onto the same system, thecollision of the symbol names is caused. In this case, there is aproblem in that the priority of the symbol of the component depends onthe order of loading or a load error is made.

On the other hand, in order to eliminate such a collision of the symbolnames, Japanese Patent No. 2655612 has disclosed the following, forexample. In the case in which the different loaded components have thesame symbol name, a symbol defined for a loaded component earlier on atime basis has a priority according to the conventional art but a symbolof a newly loaded component can be referred. According to the methoddescribed in the Japanese Patent No. 2655612, however, also in the casein which two components created by separate developers have the samesymbol name, for example, it is impossible to expect a correct operationbecause the components are regarded as the same symbol.

OBJECTS AND SUMMARY OF THE INVENTION

Accordingly, it is an object of the present invention to provide acomponentware creating method and a recording medium in which aprocessing time required for linking components can be shortened and asmall amount of use of a memory is required during a linkage.

Moreover, it is another object of the present invention to provide acomponentware creating method and a recording medium which can avoid thecollision of symbol names between two or more components having alinking relationship.

In order to solve the above-mentioned problems, the present inventionprovides a componentware creating method of creating a componentware inwhich a first componentware and a second componentware to be a referencesource of the first componentware are linked to each other duringloading onto a system, comprising the steps of generating the firstcomponentware by replacing a symbol name to be referred externally witha symbol ID for identifying the symbol name, and generating the secondcomponentware by replacing a symbol name to be referred externally inthe second componentware to be the reference source for the firstcomponentware with a symbol ID for identifying the symbol name, whereinthe first and second componentwares are linked to each other based onthe symbol ID.

Moreover, the present invention provides a recording medium recording acomponentware to be referred from an external componentware and to belinked during loading in a system, the recording medium recording acomponentware having a symbol information table in which a symbol nameto be referred externally is replaced with a symbol ID for identifyingthe symbol name, the symbol ID is described in relation to referenceplace information about a symbol corresponding to the symbol ID, and acomponent ID for identifying a componentware itself is described.

Furthermore, the present invention provides a recording medium recordinga componentware referring to and linking an external componentwareloaded onto a system, the recording medium recording a componentwarehaving a symbol reference information table in which a component ID tobe identification information added to a componentware to be a referentand a symbol ID to be symbol identification information to be referredin the componentware to be the referent is paired and described, andreference place information in which the symbol to be referred which isindicated as the symbol ID in the component ware to be the referentindicated as the component ID is caused to correspond to the pair of thecomponent ID and the symbol ID.

As described above, according to the first aspect of the presentinvention, the first componentware to be the referent is generated withthe symbol name to be externally referred replaced with the symbol IDfor identifying the symbol name, the second componentware to be thereference source is generated with the symbol name to be externallyreferred with the symbol ID for identifying the symbol name, and thefirst and second componentwares are linked to each other based on thesymbol ID. Therefore, if the symbol ID is set to be short, a timerequired for collating the symbol names can be shortened and the firstand second componentwares can be linked to each other at a high speed.In addition, it is possible to reduce the amount of the memory to beused which is necessary for the collation of the symbol names.

According to the fifth aspect of the present invention, moreover, thesymbol name to be externally referred is replaced with the symbol ID foridentifying the symbol name and the symbol ID is described in relationto the reference place information about the symbol corresponding to thesymbol ID. In addition, the componentware having the symbol informationtable in which the component ID for identifying the componentware itselfis described is recorded in the recording medium. Therefore, when thesymbol is referred from another componentware with the symbol ID, thecomponentware read from the recording medium can know the symbolreference place based on the symbol information table.

According to the sixth aspect of the present invention, furthermore, thecomponent ID to be the identification information added to thecomponentware to be the reference source and the symbol ID to be theidentification information of the symbol to be referred in thecomponentware to be the referent are paired and described. In addition,the componentware having the symbol reference information table whereinthe reference place information in which the symbol to be referred whichis indicated as the symbol ID in the componentware in the referentindicated as the component ID is to be referred in the componentware tobe the referent is recorded in the recording medium. Therefore, thecomponentware read from the recording medium can know the referenceplace of the symbol to be referred in another componentware based on thesymbol reference information table when referring to the anothercomponent.

The above, and other, objects, features and advantage of the presentinvention will become readily apparent from the following detaileddescription thereof which is to be read in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram showing the concept of a system applicableto an embodiment of the present invention;

FIG. 2 is a block diagram showing the structure of an informationapparatus in which a target system is constituted according to anexample;

FIGS. 3A, 3B and 3C are a schematic diagram showing a method ofgenerating a component to be a linker according to an example;

FIG. 4 is a schematic diagram showing the structure of an externalsymbol information file according to an example;

FIGS. 5A, 5B and 5C are a schematic diagram showing a method ofgenerating a component to be a link source according to an example;

FIG. 6 is a block diagram schematically showing a link mechanism of acomponent on a target system; and

FIG. 7 is a flow chart showing the procedure for linking components inthe target system according to an example.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

An embodiment of the present invention will be described below withreference to the drawings. FIG. 1 shows the concept of a systemapplicable to an embodiment of the present invention. For example, in atarget system 1 constituted on an information apparatus such as a mobileinformation device or a computer device, a plurality of components 4 tocall functions from each other are loaded in order to implement theoperation of a predetermined software.

The component indicates a program which can be used as a part of anotherprogram. The component has a plurality of functions, for example, and islinked to other components so that a function is called from the othercomponents and programs and a variable is referred. In the followingexplanation, it is assumed that a function and a variable which aredefined in a component 4B are referred based on the description of acomponent 4A. More specifically, the component 4A is set to be a linkerand the component 4B is set to be a link source, and the component 4B islinked to the component 4A. In the example of FIG. 1, the component 4Bto be the linker is referred based on a description of “func ( )” in thecomponent 4A to be the link source, and the function ( ) of thecomponent 4B is called.

The component 4 which is not loaded onto the target system 1 can beloaded from a secondary storage device 3 connected to the target system1, for example (a component 4C). As the secondary storage device 3, ahard disk device, a CD-ROM (Compact Disc-Read Only Memory) or otherrecording media can be applied. In addition, a semiconductor storageelement such as a flash memory can be applied as the secondary storagedevice 3. Furthermore, a floppy disk, an MO (Magnetic Optical Disk) orthe like can be applied as the secondary storage device 3.

The component 4B designated by the component 4A is read from thesecondary storage device 3 through the target system 1. The component 4Bthus read is expanded into a memory and is loaded onto the target system1.

In addition, the component 4 can also be downloaded from a server system50 through a network 2 connected to the target system 1 and can beloaded onto the target system 1 (a component 4D).

FIG. 2 shows the structure of the information apparatus in which thetarget system 1 is constituted according to an example. Assuming thatthe target system 1 is constituted on a mobile information device 10,description will be given. As a matter of course, the target system 1may be constituted in other information apparatuses such as a personalcomputer, a set top box, a mobile telephone device, a domestic gamedevice and the like. A CPU (Central Processing Unit) 12, a RAM (RandomAccess Memory) 13, a ROM (Read Only Memory) 14 and the secondary storagedevice 3 are connected to a bus 11. The RAM 13 is a work memory for theCPU 12. The ROM 14 prestores other programs, for example, an OS(Operating System) to be a basic software for operating the mobileinformation device 10, a component loader for loading a component, alinker for linking the components and programs required for starting.

As the secondary storage device 3, a flash memory to be a nonvolatileand rewritable memory can be used, for example. In this case, thesecondary storage device 3 can carry out a conversion. In addition, ahard disk device can be used as the secondary storage device 3.Moreover, it is possible to use a recording medium such as an MO or afloppy disk as the secondary storage device 3 by utilizing apredetermined drive unit.

A display section 16, an input section 17 and a communication interface18 are further connected to the bus 11. The display section 16 includesan LCD (Liquid Crystal Display), for example. A display control commandis issued from the CPU 12 and a predetermined display is carried out onthe display section 16 based on the display control command. The inputsection 17 is provided on the display section 16, for example, andincludes a touch panel through which the display of the display section16 can be transparent. The communication interface 18 is connected tothe network 2 using a wireless or wire communication and controls acommunication between the mobile information device 10 and the outside.

When the mobile information device 10 is activated, a program such as anOS which is stored in the ROM 14 is started through the CPU 12 so thatthe target system 1 is constituted. For example, a predetermined programis started on the target system 1 in accordance with an instructiongiven from the input section 17 and a necessary component is read fromthe secondary storage device 3 to the RAM 13 and is loaded in accordancewith a description in the program.

A link in the component is specified during the creation of thecomponent. The linking is carried out by referring to a symbolcorresponding to a link source and a linker. In the present invention, acomponent ID indicative of a component to be a linker is attached to thecomponent and symbol information included in the component has a symbolinformation table which is replaced with a symbol ID having a serialnumber, for example.

On the other hand, the component to be the link source has a pair of acomponent ID of the component to be the linker and a symbol ID of asymbol to be referred in a component indicated as the component ID.There is a symbol reference information table in which the pair of thecomponent ID and the symbol ID corresponds to the relative address of asymbol indicated as the symbol ID in the component to be the linker.

The component to be the link source can know the relative positions ofthe component to be the linker and the symbol to be referred in thecomponent based on the symbol reference information table. In general,the symbol ID can be set to be shorter than an original symbol name.Consequently, the original symbol name can be replaced with a shortersymbol ID. Therefore, the linker can be retrieved at a high speed andthe amount of a memory to be used can be reduced.

With reference to FIGS. 3 to 5, description will be given to a method ofgenerating a component according to an embodiment of the presentinvention. The generation of the component to be described below can beexecuted in a different system from the target system 1.

FIGS. 3A, 3B and 3C show a method of generating a component (thereferent component 4B) to be a linker according to an example. Thecomponent to be the linker has a symbol referred from the outside. FIG.3A shows a state in which a symbol is declared for a function declaredin the source file 10. The source file is compiled by a compiler so thatan object file 11 shown in FIG. 3B is generated. The object file is anintermediate file generated in the middle of the creation of anexecution type file from the source file.

Symbols referred from other components for the function and the variablewhich are declared in the source file 10 are listed in the symbolinformation table 12 in the object file 11. At this time, thedeclaration of the symbol which is carried out in the source file 10 isreplaced with a symbol name through the compiler. As the symbol namewritten to the symbol information table 12, an original symbol namegenerated based on the description in the source file 10 is used.

In the example of FIG. 3, the symbol name has a character string of“_funcl_(—)6ClassP6Class1” formed by a combination of English numeralsto be ten-numeric letters and symbols. A symbol value indicate of arelative address (offset value) in the object file 11 of the declaredsymbol is added to the symbol name. The replacement of the declarationof the symbol with the symbol name and the addition of the symbol valueare automatically carried out through the compiler.

The referent component 4B to be a linker is created from the object file11. At this time, the symbol information table 14 in which the symbolname is replaced with the symbol ID is created in the symbol informationtable 12 of the object file 11 as shown in the example of FIG. 3Caccording to the first embodiment of the present invention. The symbolID is such an optional character string as not to be superposed onanother symbol ID in the component. In the example of FIG. 3C, “S3” isset to be the symbol ID for the symbol name of“_funcl_(—)6ClassP6Class1”. A component ID (“C45” in this example)indicative of the component 4B is set to the symbol information table 14in which the symbol name is replaced with the symbol ID. The componentID is uniquely allocated to each component.

In the embodiment of the present invention, moreover, the externalsymbol information file 13 is created separately from a component fileto be created. The external symbol information file 13 has such astructure that a correspondence relationship between an original symbolname and a symbol ID for a component indicated as the component ID islisted in each entry (line) as illustrated in an example of FIG. 4.

Furthermore, in the case in which the component 4B is recreated throughversion up and the symbol is deleted, the deletion of the symbol isdescribed together with the deleted symbol ID for the external symbolinformation file 13 as shown in a line of “DELETE” of FIG. 3C. In thecase in which a symbol is newly added to the component, a symbol IDwhich has not been used is utilized including deleted symbol. Thus, theused symbol ID can be prevented from being reused and the soleness ofthe symbol ID can be guaranteed in a plurality of components havingdifferent versions from each other with the same name.

FIGS. 5A, 5B and 5C show a method of generating a component to be a linksource (the reference source component 4A) according to an example. Thecomponent 4A to be the link source calls a function defined in anexternal component and refers to a variable. FIG. 5A shows that thefunction of another component is referred in the source file 20. Thesource file is compiled by a compiler so that an object file 21 shown inFIG. 5B is generated.

The object file 21 has a symbol reference information table 22. In thesymbol reference information table 22, a symbol to be referred is listedin an external component. In this case, an original symbol namegenerated by the compiler based on a description indicative of areference in the source file 20 is exactly used for the symbol name of areferent. In the example of FIGS. 5A, 5B and 5C“_funcl_(—)6ClassP6Class1” in the object file 21 is used as a symbolname for “funcl(obj)” in the source file 20. Corresponding relativeaddress information in the component to be a referent is added to thesymbol name.

Moreover, an external symbol information file 13′ for the component 4Bto be the referent is created from a symbol reference information table22 and the external symbol information file 13 created during thegeneration of the component 4B to be the referent (FIG. 5B). A componentID and a symbol ID corresponding to the original symbol name areobtained based on the external symbol information file 13 and the symbolreference table 22. A pair of the component ID and the symbol ID thusobtained is caused to correspond to the original symbol name. Thisoperation is carried out for all the original symbol names listed in thesymbol reference information table 22.

The component 4A to be the reference source is generated from the objectfile 21 and the external symbol information file 13′ (FIG. 5C). Thecomponent 4A has a symbol reference information table 23 in which a pairof a component ID of a referent and a symbol ID and a symbol referenceaddress are listed correspondingly. In the example of FIG. 5C, the pairof the component ID and the symbol ID is represented by “C45_S3” and iscaused to correspond to a symbol value indicative of a symbol referencelocation.

The symbol reference information table 23 is obtained by converting theoriginal symbol name in the symbol reference information table 22 of theobject file 21 into the pair of the component ID and the symbol ID byusing the external symbol information file 13′, and has addressinformation referring to the replaced symbol name and the symbol in thecomponent.

More specifically, it can be supposed in the symbol referenceinformation table 23 that the original symbol name in the symbolreference information table 22 of the object file 21 is replaced with anew symbol name constituted by the pair of a component ID and a symbolID.

While a component having a symbol to be referred from another componentand a component referring to the symbol of another component have beendescribed separately, this example is not restricted. One component canhave a symbol to be referred from another component and can also referto the symbol of another component. In such a case, the presentinvention can be applied.

Next, description will be given to a method of linking the component 4Ato be the reference source and the component 4B to be the referencewhich are generated as described above, thereby creating an executionfile. FIG. 6 schematically shows a link mechanism for components on thetarget system 1. It is assumed that a predetermined program is startedin the target system 1 and the component 4A is read on the RAM 13. Basedon the description of the component 4A, the component 4B is called andis linked to the component 4A. This processing is actually carried outbased on the control of the OS 30.

Based on the symbol reference information table 23 of the component 4A,a linkage of the component 4B is requested from the component 4A to anOS 30. The request of the linkage is transferred from the OS 30 to alinker 31. The linker 31 refers to the symbol reference informationtable 23 of the component to be the reference source and the symbolinformation table 14 of the component 4B to be the referent based on therequest. The linker 31 links the component 4A to be the reference sourceto the component 4B to be the referent based on the component ID and thesymbol ID which are described in the tables 23 and 14.

FIG. 7 is a flow chart showing the procedure for linking components inthe target system 1 according to an example. The processing of the flowchart is carried out through the link 31 based on the control of the OS30. At a first step S10, the component 4A to be the reference source andthe component 4B to be the referent are read in the RAM 13 and areloaded onto the target system 1. This processing is carried out byretrieving a proper component from a component stored in the secondarystorage medium 3 based on the component name and version information ofthe component 4B to be the referent which are described in the component4A to be the reference source through a component loader which is notshown, for example.

When the components 4A and 4B to be the reference source and thereferent are loaded respectively, a link request for the component 4B tobe the reference source is given from the component 4A to be thereference source to the OS 30 and is transferred from the OS 30 to thelinker 31 as described above. At a next step S11, one entry is acquiredfrom the symbol reference information table 23 of the component 4A to bethe reference source through the linker 31. If it is decided that theprocessing is ended for all the entries of the symbol referenceinformation table 23 (step S12) and a series of flow charts are ended.

If it is decided that there is an entry which has not been completelyprocessed in the reference source information table 23 at the step S12,the processing proceeds to a step S13. At the step S13, a correspondingentry of the symbol information table 14 of the component 4B to be thereferent is retrieved based on the symbol reference information table 23of the component 4A to be the reference source. As described above, thesymbol name in the symbol reference information table 23 of thecomponent 4A to be the reference source is constituted by a combinationof the component ID and the symbol ID. Therefore, the component ID ofthe component 4B to be the referent is acquired based on the descriptionof the symbol reference information table 23.

At a step S14, it is decided whether or not the component ID thusacquired is coincident with the component ID of the component 4B to bethe referent which is a linker. If they are not coincident with eachother, the processing proceeds to a step S17 where the component 4A tobe the reference source is not linked to the component 4B to be thereferent. Then, the processing is returned to the step S11 where a nextentry of the symbol reference information table 23 is acquired.

On the other hand, if it is decided that the component ID acquired atthe step S13 is coincident with the component ID of the component 4B tobe the referent at the step S14, the processing proceeds to a next stepS15. At the step S15, the symbol information table 14 of the component4B to be the referent which is the linker is referred and a symbolinformation entry to be linked is acquired.

More specifically, at the step S15, the symbol ID making a pair with thecomponent ID acquired at the step S13 is obtained based on the symbolreference information table 23. Then, the entry of the symbolinformation table 14 of the component 4B to be the referent is retrievedbased on the symbol ID thus obtained.

At the step S15, a symbol value corresponding to the symbol ID isobtained based on the result of the retrieval of the step S14.Consequently, a reference place described in the symbol referenceinformation table 23 can be referred and the symbols are linked (stepS16). A series of processings are carried out for each entry of thesymbol reference table 23 of the component A to be the reference source.

The original symbol name used in the object file 11 acting as the originof the component 4B to be the referent and the original symbol name usedin the object file 21 acting as the origin of the component 4A to be thereference source are wholly replaced with the symbol names obtained by acombination of the component ID and the symbol ID during the generationof the components. Therefore, the external symbol reference file 13 ofthe component to be the referent, the external symbol reference file 13′of the component to be the reference source and the information aboutthe original symbol name which is obtained before the replacement ofeach symbol name are not required after the generation of thecomponents.

As described above, according to the present invention, the symbolinformation required on the target system 1 is replaced with the symbolID for use. The symbol ID can be more shortened as compared with theoriginal symbol name. Consequently, it is possible to reduce the amountof a memory for storing the symbol name on the target system 1 and it ispossible to shorten a time required for the processing during the symbolretrieval when the components are linked.

According to the present invention, moreover, the component ID is addedto the symbol reference information to be the reference source.Consequently, it is possible to decide from a comparison of thecomponent IDs whether or not the symbol to be the referent of the symbolreference information is present in the component to be the linkerduring the linkage of the components. Accordingly, it is possible toshorten a time required for a processing of retrieving a symbol.

According to the present invention, furthermore, the symbol names of allthe components are treated to be replaced and component identificationinformation (component ID) to which respective symbols belong is addedto the symbol IDs. Therefore, also in the case in which the same symbolname is declared in two or more different components, it is possible totreat them to be separate symbols.

Having described a specific preferred embodiment of the presentinvention with reference to the accompanying drawings, it is to beunderstood that the invention is not limited to that precise embodiment,and that various changes and modifications may be effected therein byone skilled in the art without departing from the scope or the spirit ofthe invention as defined in the appended claims.

1-6. (canceled)
 7. An apparatus for creating componentware in whichfirst componentware and second componentware are linked to each otherduring loading onto a system, the apparatus comprising: means forgenerating the first componentware by replacing a first symbol name,adapted to be referred externally, with a first symbol ID adapted toidentify the first symbol name; means for creating first table dataindicative of a relationship between the first symbol name and the firstsymbol ID; means for creating external list data indicative of arelationship between the first symbol name and the first symbol ID;means for generating the second componentware by replacing a secondsymbol name, adapted to be a reference source for the firstcomponentware, with a second symbol ID, wherein the second symbol ID isadapted to identify the second symbol name as a function of the externallist data; and means for creating second table data indicative of arelationship between the second symbol name and the second symbol ID,wherein the first componentware and the second componentware are linkedto each other as a function of the first table data and the second tabledata.
 8. The apparatus according to claim 7, further comprising: meansfor providing a component ID adapted to identify the firstcomponentware; and means for adding the component ID to the firstcomponentware, wherein the second componentware refers to the firstcomponentware as a function of the component ID and the symbol ID. 9.The apparatus according to claim 7, further comprising: means forcreating a relational list as a function of a relationship between thefirst symbol name and the first symbol ID; and means for replacing thefirst symbol name with the first symbol ID as a function of therelational list.
 10. The apparatus according to claim 9, wherein themeans for replacing is adapted to delete a symbol ID when thecorresponding symbol name is deleted and add a new symbol ID when acorresponding new symbol name is added.
 11. The apparatus according toclaim 7, further comprising: means for determining a source ofcomponents of the componentware; and means for accessing the componentsfrom the source.
 12. The apparatus according to claim 11, wherein thesource is a secondary source.
 13. The apparatus according to claim 7,further comprising: means for determining a deletion of one or moresymbols; and means for deleting one or more symbol IDs that correspondto the one or more deleted symbols.
 14. A recording apparatus adapted torecord componentware comprising: means for storing symbol referencecomponent data, a component ID, which is adapted to identify informationfor corresponding componentware and a symbol ID, which is adapted toidentify corresponding componentware; and means for determining whetherthe component ID and the symbol ID correspond to particular referencecomponent data, wherein an indication of such correspondence isgenerated when a correspondence is determined and the symbol ID isunique for the particular reference component data, and wherein thecomponentware is adapted to be linked to external componentware.
 15. Arecording apparatus for recording componentware comprising: means forstoring symbol name data; and means for storing symbol ID data, which isadapted to identify corresponding symbol name data, where the symbol IDdata is described as a function of a corresponding symbol location andas a function of a component ID adapted to identify at least a portionof the componentware, wherein particular symbol name data is replaced bycorresponding symbol ID data.